<?php

// 引入SQLite数据库文件
$dbfile = 'database.db';$db = new SQLite3($dbfile);

// 创建数据表（如果尚不存在）
$db->exec('CREATE TABLE IF NOT EXISTS loot_counts (
    common INTEGER NOT NULL,
    silver INTEGER NOT NULL,
    gold INTEGER NOT NULL,
    diamond INTEGER NOT NULL
)');

// 初始化数据表（如果尚未初始化）
if ($db->querySingle('SELECT COUNT(*) FROM loot_counts') == 0) {
    $db->exec('INSERT INTO loot_counts (common, silver, gold, diamond) VALUES (0, 0, 0, 0)');
}

// 定义一个函数来模拟开宝箱的过程
function drawLootBox() {
    global $db;
    $randomNumber = random_int(1, 10000);

    // 根据随机数判断开出的吉祥物类型，并更新数据库
    if ($randomNumber <= 9900) {
        $loot = '普通吉祥物';
        $db->exec("UPDATE loot_counts SET common = common + 1");
    } elseif ($randomNumber <= 9900 + 70) {
        $loot = '银级吉祥物';
        $db->exec("UPDATE loot_counts SET silver = silver + 1");
    } elseif ($randomNumber <= 9900 + 70 + 20) {
        $loot = '黄金级吉祥物';
        $db->exec("UPDATE loot_counts SET gold = gold + 1");
    } else {
        $loot = '钻石级吉祥物';
        $db->exec("UPDATE loot_counts SET diamond = diamond + 1");
    }

    return $loot;
}

// 从数据库中检索数据
$result =$db->query('SELECT common, silver, gold, diamond FROM loot_counts');
$row =$result->fetchArray(SQLITE3_ASSOC);
?>

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>开宝箱游戏</title>
    <!-- 引入样式表 -->
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<center>
<h2>这是一个吉祥物盒子</h2>
<!-- 显示各种吉祥物的数量 -->
<p>普通吉祥物：<?php echo $row["common"]; ?></p>
<p>银级吉祥物：<?php echo $row["silver"]; ?></p>
<p>黄金级吉祥物：<?php echo $row["gold"]; ?></p>
<p>钻石级吉祥物：<?php echo $row["diamond"]; ?></p>

<p>你开出了: <b><?php echo drawLootBox(); ?></b></p>

<!-- 刷新按钮，点击后重新加载页面 -->
<button id="refreshButton">刷新</button>
</center>

<script>
    document.getElementById('refreshButton').addEventListener('click', function() {
        location.reload(); // 当按钮被点击时，刷新页面
    });
</script>

</body>
</html>

<?php
// 关闭数据库连接
$db->close();
?>
